package com.augurit.common.entity;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;

import org.apache.commons.lang.builder.ToStringBuilder;
import org.hibernate.annotations.Cache;
import org.hibernate.annotations.CacheConcurrencyStrategy;

/**
 * 功能Entity类
 *
 */
@Entity
@Table(name = "AC_FUNCTION")
@Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
public class AcFunction {

	//属性
	private Long funcId;		//主键ID
	private String funcCode;	//功能编号
	private String funcName;	//功能名称
	private Long moduleId;		//所属模块ID
	private String funcType;	//功能类型
	private String funcUrl;		//功能调用入口
	private String urlType;		//调用入口类型
	private String isCheck;		//是否验证权限；0表示无需验证，1表示要验证
	private String isMenu;		//是否为菜单；0为非菜单，1为菜单
	private String funcDesc;	//功能描述
	private String remark;		//备注
	
	@Id
    @SequenceGenerator(name="SEQ_AC_FUNCTION", sequenceName="SEQ_AC_FUNCTION", allocationSize=1)
    @GeneratedValue(strategy=GenerationType.SEQUENCE, generator="SEQ_AC_FUNCTION")
	public Long getFuncId() {
		return funcId;
	}

	public void setFuncId(Long funcId) {
		this.funcId = funcId;
	}

	public String getFuncCode() {
		return funcCode;
	}

	public void setFuncCode(String funcCode) {
		this.funcCode = funcCode;
	}

	public String getFuncName() {
		return funcName;
	}

	public void setFuncName(String funcName) {
		this.funcName = funcName;
	}

	public Long getModuleId() {
		return moduleId;
	}

	public void setModuleId(Long moduleId) {
		this.moduleId = moduleId;
	}

	public String getFuncType() {
		return funcType;
	}

	public void setFuncType(String funcType) {
		this.funcType = funcType;
	}

	public String getFuncUrl() {
		return funcUrl;
	}

	public void setFuncUrl(String funcUrl) {
		this.funcUrl = funcUrl;
	}

	public String getIsCheck() {
		return isCheck;
	}

	public void setIsCheck(String isCheck) {
		this.isCheck = isCheck;
	}

	public String getIsMenu() {
		return isMenu;
	}

	public void setIsMenu(String isMenu) {
		this.isMenu = isMenu;
	}

	public String getFuncDesc() {
		return funcDesc;
	}

	public void setFuncDesc(String funcDesc) {
		this.funcDesc = funcDesc;
	}

	public String getRemark() {
		return remark;
	}

	public void setRemark(String remark) {
		this.remark = remark;
	}

	public String getUrlType() {
		return urlType;
	}

	public void setUrlType(String urlType) {
		this.urlType = urlType;
	}

	@Override
	public String toString() {
		return ToStringBuilder.reflectionToString(this);
	}
}